package com.foruo.learn.designmode.state;

/**
 * 上下文
 * @author GaoYuan
 * @date 2018/11/11 上午8:16
 */
public class Context {

    private AbstractState state;

    public AbstractState getState() {
        return state;
    }
    /** 设置当前状态 */
    public void setState(AbstractState state) {
        this.state = state;
        // 记得 setContext，不然会空指针
        this.state.setContext(this);
    }
    /** 执行方法 */
    public void run(){
        this.state.run();
    }
    /** 下一个状态 */
    public void next(){
        this.state.next();
    }

}
